Generation of graphical feedback in a computer system

ABSTRACT

The present invention relates to control of a computer system, which includes a data processing unit, a display and an eye tracker adapted to register a user&#39;s gaze point with respect to the display. The data processing unit is adapted to present graphical information on the display, which includes feedback data reflecting the user&#39;s commands entered into the unit. The data processing unit is adapted to present the feedback data such that during an initial phase, the feedback data is generated based on an absolute position of the gaze point. An imaging device of the system is also adapted to register image data representing movements of a body part of the user and to forward a representation of the image data to the data processing unit. Hence, during a phase subsequent to the initial phase, the data is instead generated based on the image data.

CROSS-REFERENCES TO RELATED APPLICATIONS

This application is a continuation application of U.S. patent application Ser. No. 15/639,618 filed Jun. 30, 2017, which is a continuation application of U.S. patent application Ser. No. 14/959,790 filed Dec. 4, 2015, which is a continuation application of U.S. patent application Ser. No. 12/162,694 filed Feb. 10, 2009, which claims priority to, and the benefit of, U.S. Provisional Patent Application No. 60/764,712 filed Feb. 2, 2006, and U.S. patent application Ser. No. 12/162,694 is also a national stage application (filed under 35 § U.S.C. 371) of PCT/SE2007/050024, filed Jan. 17, 2007, which claims priority to Swedish Application No. 0600208-3, filed Feb. 1, 2006; the contents of each of which are hereby incorporated by reference.

FIELD OF THE INVENTION

The present invention relates generally to presentation of information representing graphical feedback in response to user commands entered into a computer system.

BACKGROUND OF THE INVENTION

Human computer interaction has been revolutionized by the graphical user interface (GUI). Namely, this interface provides an efficient means for presenting information to a user with a bandwidth which immensely exceeds any prior channel. Over the years the speed at which information can be presented has increased further through color screens, enlarged displays, intelligent graphical objects (e.g. pop-up windows), window tabs, menus, toolbars and sounds. During this time, however, the input devices have remained essentially unchanged, i.e. the keyboard and the pointing device (e.g. mouse, track ball or touch pad). In recent years, various handwriting devices have also been introduced (e.g. in the form of a stylus or a graphical pen). Nevertheless, while the output bandwidth has multiplied several times, the input ditto has been substantially unaltered. Consequently, a severe asymmetry in the communication bandwidth in the human computer interaction has occurred. In order to compensate for this, and render the data input more efficient and user friendly, various solutions have been proposed.

U.S. Pat. No. 5,367,315 describes a method and an apparatus for controlling cursor movements on a computer screen based on a user's eye and head movements. The system is activated by operating a designated key or switch. Thereafter, the user can position the cursor at any point on the screen by moving the eyes and head in the same manner as the conventional mouse. Specifically, infrared detectors determine the relative position of the user's head within a defined active area, so that the cursor's position on the screen depends on the head's position within the active area. The user's eyes are here primarily used as light reflectors to determine changes in the eye position, and thus indirectly to reveal variations in the head positioning within the active area. Thus, a relationship between the eyes/head position and the cursor position is established.

U.S. Pat. No. 6,215,471 discloses a vision pointer method and apparatus, wherein a user controls the movements of a pointer on a screen by means of a corresponding rotation or movement of a visually identifiable characteristic, such as a facial feature. Moreover, by modifying a changeable visual characteristic, e.g. closing an eye, the user may generate control signals representing mouse clicks and similar functions. Analogous to the solution above, there is also here a close relationship between the positioning of the visually identifiable characteristic and the pointer position on the screen.

U.S. Pat. No. 6,204,828 reveals a computer-driven system for assisting an operator in positioning a cursor on a screen. Here, the system calculates the operator's gaze position on the screen, and initially places the cursor within a gaze area identified by this position. A mechanical input device, e.g. a mouse or a keyboard, is then used to control the cursor from the initial position to an intended end position on the screen.

The first two solutions above are problematic because by employing these strategies it may be difficult for the user, who perhaps is a handicapped person, to control his/her head or gaze with sufficiently high precision to position the cursor at the desired place on the screen. Furthermore, even if the user is capable of controlling his/her body with very high precision, various imperfections in the tracking equipment may introduce measurement errors when registering the eyes/head position and the gaze point respectively, so that it still becomes difficult, or at least wearying to achieve the intended result. The last solution is an improvement in this respect, since here the user can compensate for any errors in gaze position estimations when manipulating the mechanical input device. Nevertheless, operation of such a mechanical device is associated with other problems, for instance related to fatigue, repetitive strain injuries etc. Moreover, a mechanical input device, such as a conventional mouse, is relatively slow and requires a certain operating space, either on the desktop or on a device surface (in the case of a laptop). Sometimes, no such space is available, or providing the required space is problematic.

SUMMARY OF THE INVENTION

The object of the present invention is therefore to offer a solution, which alleviates the above problems and thus provides a user friendly and ergonomically appropriate means to control a computer system with high precision, and in a highly efficient manner.

According to one aspect of the invention, the object is achieved by the initially described computer system for displaying information, wherein the system includes at least one imaging device, which is adapted to register image data representing the movements of the body part. The at least one imaging device is adapted to forward a representation of the image data to the data processing unit, which, in turn, is adapted to present the feedback data in such a manner that during an initial phase, the data is generated based on an absolute position of the gaze point; and during a phase subsequent to the initial phase, the data is generated based on the image data.

This system is advantageous because of its speedy response and very intuitive user interface. In the initial phase, the feedback data can be presented in relatively close proximity to a display area to which the user's gaze is actually directed. The proposed subsequent phase allows the user to fine position the feedback data with respect to the initial position by moving a selected body-part, and thus produce control commands reflecting a relative movement. This both provides high flexibility and a large freedom in terms of the body-part used.

According to a preferred embodiment of this aspect of the invention, the data processing unit is adapted to receive a user-generated start command, and instigate the initial phase in response to a reception of the start command. Thus, an unambiguous timing of the feedback data presented in response to the gaze point is obtained. This, in turn, enhances the quality of the user interface. Depending on the implementation and the user preferences, the start command may be generated by activating a mechanical input member, uttering a voice command, by locating the gaze point within a particular area of the display during a threshold dwell time, or by moving the gaze point according to a predefined movement sequence, e.g. a so-called saccade.

According to another preferred embodiment of this aspect of the invention, the data processing unit is adapted to instigate the subsequent phase after a predetermined duration of the initial phase. The initial phase can normally be made relatively short, say 1 to 2 seconds (or even substantially less). Thereafter, it may be advantageous if the subsequent phase starts automatically.

According to an alternative embodiment of this aspect of the invention, the data processing unit is instead adapted to receive a user-generated trigger command, and to instigate the subsequent phase in response to a received trigger command. Hence, the user can choose the point in time when he/she considers that it is appropriate to start controlling the feedback data in response to the movements of said body part. For example, the system may preferably include means adapted to receive the user-generated trigger command in the form of: activation of a mechanical input member, a voice command, location of the gaze point within a particular area of the display during a threshold dwell time or a predefined movement sequence completed by the gaze point (e.g. a saccade). Namely, thereby, the efficiency of the user interaction with the system can be further improved.

According to yet another preferred embodiment of this aspect of the invention, the feedback data represents a graphical pointer. Moreover, the data processing unit is adapted to during the initial phase, position the pointer on the display at a start location being reflected by the gaze point, for instance at a particular distance from an estimated position for the gaze point. During the subsequent phase, the data processing unit is adapted to move the pointer from the start location in response the image data that represents the moving body part. Preferably, the data processing unit is adapted to interpret the image data as representing a relative repositioning of the graphical pointer from the start location in such a manner that a particular movement of the body part causes a predetermined repositioning of the graphical pointer. Hence, by moving the body part while viewing the display, the user may control the pointer to be gradually moved from the start location, as he/she desires.

According to still another preferred embodiment of this aspect of the invention, the data processing unit is adapted to cause the display to repeatedly update the presented feedback data in response to the image data during the subsequent phase. Hence, for example, the above-mentioned gradual repositioning is facilitated.

According to a further preferred embodiment of this aspect of the invention, the at least one imaging device is included in the eye tracker. Hence, the imaging device and the eye tracker may use a common camera unit. Of course, this is advantageous with respect to cost efficiency and the compactness of the design.

According to another preferred embodiment of this aspect of the invention, the graphical information includes a first fraction representing non-feedback data and a second fraction representing the feedback data. Moreover, the data processing unit is adapted to cause presentation of the second fraction at a confirmation position on the display, where the location of the confirmation position depends on a content of the first fraction. This means that the feedback data behavior may be adapted to the current screen contents, as well as the locality interrelationship between this content and the feedback data. For example, feedback data in the form of a graphical pointer may have a first appearance and/or behavior when located over, or near, a manipulable GUI object, and a second appearance and/or behavior when located in a display area containing no such objects.

According to another aspect of the invention the object is achieved by the method as initially described, wherein image data is registered, which represents the movements of the body part. The feedback data is presented, such that during an initial phase, the feedback data is generated based on an absolute position of the gaze point. During a phase subsequent to the initial phase, the feedback data is instead generated based on said image data.

The advantages of this method, as well as the preferred embodiments thereof, are apparent from the discussion hereinabove with reference to the proposed computer system.

According to a further aspect of the invention the object is achieved by a computer program, which is directly loadable into the internal memory of a computer, and includes software for controlling the above proposed method when said program is run on a computer.

According to another aspect of the invention the object is achieved by a computer readable medium, having a program recorded thereon, where the program is to control a computer to perform the above proposed method.

Generally, one bonus effect attainable by the invention is that the image-based data generated during the subsequent phase may be used to automatically calibrate the eye tracker. Namely, by studying this data conclusions can be drawn as to how the eye tracker should be adjusted in order to minimize any errors between the gaze point registered by the eye tracker and the user's estimated actual gaze point.

Further advantages, advantageous features and applications of the present invention will be apparent from the following description and the dependent claims.

BRIEF DESCRIPTION OF THE DRAWINGS

The present invention is now to be explained more closely by means of preferred embodiments, which are disclosed as examples, and with reference to the attached drawings.

FIG. 1 shows an overview picture of user interacting with the proposed computer system;

FIG. 2 shows a detail view of the display in FIG. 1 according to a preferred embodiment of the invention;

FIG. 3 illustrates, by means of a flow diagram, a general method for controlling a computer system according to the invention.

DETAILED DESCRIPTION OF THE INVENTION

FIG. 1 shows an overview picture of a typical use-case according to the invention. Here, a user 140 controls a computer system by means of eye movements and movements of a particular body part.

The system includes a data processing unit 110, a display 120 and an eye tracker 130, which is either integrated in the display 120 (as shown in the figure), or a separate unit. The eye tracker 130 is adapted to register the user's 140 gaze point PG with respect to the display 120. To this aim, the eye tracker 130 is preferably equipped with one or more imaging devices 135 a and 135 b. It is generally advantageous if the eye tracker 130 also includes, or is associated with, one or more light sources 135 c and 135 d for emitting light, e.g. in the infrared or near infrared spectrum, towards the user 140. The eye tracker 130 is adapted to produce eye tracking data DEVE describing the gaze point Pc, and to forward this data DEVE to the data processing unit 110.

The data processing unit 110 is adapted to forward graphical information GR[S, FB] for presentation on the display 120. According to the invention, at least some of this information GR[S, FB] represents feedback data FB generated in response to user commands entered into the data processing unit 110. These commands are generated based on either the gaze point PG, or on movements MR of a body part 145 of the user 140. The system may be calibrated to detect the movements MR of essentially any body part 145. However it is preferable that the body part is comparatively visually distinct, such as the nose, the mouth, the entire head, the hand, the lower arm etc. It is advantageous to select the pair of eyes (i.e. an image segment including the user's 140 both eyes) to represent a body part 145 relative to which the eyes are fixated (e.g. the head). Namely, in this case, the eye tracker 130, which is optimized to register various eye related characteristics can be used also to detect the movements of said body part 145.

In any case, the system includes an imaging device that is adapted to register image data Nom representing the movements MR of the body part 145. As mentioned above, this imaging device may be identical to one or more devices 135 a and/or 135 b included in the eye tracker 130. The imaging device is further adapted to forward a representation of the image data Nom to the data processing unit 110. Depending on the processing capabilities of the imaging device, this means that the unit 110 receives either raw image data (essentially as registered by the imaging device), or a processed version of the image data. In the latter case, the imaging device may provide the data processing unit 110 with a signal, which contains relevant position/time information, motion vectors etc.

The data processing unit 110 is adapted to receive both the eye tracking data DEVE and the representation of the image data Nom. Based on this data, the unit 110 presents the feedback data FB such that: during an initial phase, the data FB is generated based on an absolute position of the gaze point PG; and during a phase subsequent to the initial phase, the data FB is generated based on the image data Nom. Preferably, the data processing unit 110 includes, or is associated with, a memory unit 115 that is adapted to store software for controlling the unit 110 to execute this process.

Turning now to FIG. 2, we see a more detailed view of the display 120 in FIG. 1. Naturally, the feedback data FB may represent many different forms of graphical information, such as highlighting of GUIs, activation of so-called applets and so on.

According to one embodiment of the invention, the feedback data FB represents a graphical pointer 210. In this embodiment, the data processing unit 110 is adapted to, during the initial phase, position the pointer 210 on the display 120 at a start location Ls, which is defined by the gaze point PG. (i.e. a display area to which the eye tracker 130 has estimated the user's gaze to be directed). Thus, the pointer 210 the start location Ls may overlap the gaze point Pc, or be a position having a particular locality relative to the gaze point PG.

In the example illustrated in FIG. 2, the display 120 also shows graphics in the form of a primary object 220, which in turn, includes first and second on-screen buttons 221 and 222 respectively. Here, we assume that the user 140 intends to activate the second on-screen button 222, and therefore is interested in moving the pointer 210 over this graphical object. Hence, the actual gaze point may be located in the center of the primary object 220 (i.e. approximately at PG).

In order to place the pointer 210 at the desired position, during the subsequent phase, the user 140 moves MR the particular body part, such as his/her head 145. The imaging device registers this movement MR, and produces corresponding image data Nom, a representation of which is forwarded to the data processing unit 110. This unit 110, in turn, causes such feedback data FB to be presented on the display 120 that the pointer 210 moves from the start location Ls (i.e. the pointer 210 moves in response the image data DBODY).

According to one preferred embodiment of the invention, the data processing unit 110 is adapted to interpret the representation image data Nom to represent a relative repositioning dR of the graphical pointer 210 from the start location Ls in such a manner that a particular movement MR of the body part 145 causes a predetermined repositioning of the graphical pointer 210. Namely, from a motoric point-of-view, this is a very intuitive motion process for the user 140. Of course, here, any relationship between the movement MR and the repositioning dR is conceivable. Many times, a purely linear relationship may be desirable. However, in other applications a non-linear relationship may be more efficient. In any case, it is advantageous if a general rightwards movement of the body part 145 causes the pointer 210 to move rightwards over the display, a general leftwards movement of the body part 145 causes the pointer 210 to move leftwards over the display, and so on. Naturally, the data processing unit 110 can also be adapted to distinguish more complex movements MR, so that the pointer 210 can be moved in arbitrary direction across the display 120 in response to the body-part movement.

Furthermore, it is advantageous if the data processing unit 110 is adapted to cause the display 120 to repeatedly update the presented feedback data FB in response to the image data Nom during the subsequent phase. Preferably, such updating is performed at relatively high frequency, e.g. 10-30 times per second. Thereby, the feedback data FB can describe a graphical pointer 210 that appears to move continuously in response to the movements MR.

According to one preferred embodiment of the invention, the graphical information GR[S, FB] includes a first fraction S representing non-feedback data and a second fraction representing FB the feedback data. Referring to the example shown in FIG. 2, the primary object 220, the first on-screen button 221 and the second on-screen button 222 may constitute data included in the first fraction S, whereas the pointer 210 is included in the second fraction FB. In this embodiment, the data processing unit 110 is adapted to cause presentation of the feedback data FB included in the second data fraction at a confirmation position on the display 120, where the location of the confirmation position depends on the contents of the first fraction S.

For example, when located over any of the on-screen buttons 221 or 222, the feedback data FB may represent the pointer 210, so that these buttons can be manipulated by generating a confirmation command when the pointer 210 is placed here. However, whenever located over a text window, the feedback data FB may instead represent a highlighting of this window. Naturally, according to the invention, many alternative forms of visual guidance information can be presented. The type, or characteristics of, the feedback data FB may also depend on the contents of the first fraction S. Hence, when located over a text window, the feedback data FB may represent a cursor symbol; whereas when located over, or sufficiently near, other kinds of manipulable GUI objects the feedback data FB may represent a pointer, or similar graphical symbol.

Furthermore, the relationship between the gaze point PG and the positioning of the feedback data FB may be non-linear. For example, one or more GUI objects on the display 120 can be associated with a “field of gravity”. This may imply that, if the gaze point PG is not located on any GUI object, however within a particular distance from a first GUI object, the feedback data FB (e.g. in the form of a graphical pointer 210) is presented at the first GUI object.

According to one embodiment of the invention, the above-mentioned initial phase is started manually by the user 140. Therefore, the data processing unit 110 is adapted to receive a user-generated start command. The unit 110 is further adapted to instigate the initial phase in response to reception of such a start command. The proposed system comprises at least one means, which is adapted to receive the start command. Preferably, the start command is generated by activating a mechanical input member (such as a key, a button, a switch, a pedal etc.), uttering a voice command, locating the gaze point PG within a particular area of the display 120 (e.g. proximate to the pointer's 210 current position, or over an alternative manipulable GUI object) during a threshold dwell time, and/or moving the gaze point PG according to a predefined movement sequence (e.g. a saccade from/to a particular GUI object).

Normally, it is preferable that the initial phase is comparatively short, i.e. having duration in the order of 0, 1 to 2 seconds. A very short initial phase may be preferable because then the feedback data FB will be perceived to appear “instantaneously” in response to where the user's 140 gaze is directed. In many applications, it is further desirable if the subsequent phase starts automatically after completion of the initial phase. To this aim, according to one embodiment of the invention, the data processing unit 110 is adapted to instigate the subsequent phase a predetermined time after commencement of the initial phase.

For example, the user 140 can instigate the initial phase by depressing a designated key on a keyboard associated with the data processing unit 110. In connection with depressing the key the user 140 places his/her gaze point PG at a desired location on the display 120. Shortly thereafter, the subsequent phase follows (automatically), and during this phase, the user 140 controls the data processing unit 110 by means of his/her body part movements MR. Then, when the feedback data FB indicates that a desired input status has been attained, the user 140 releases the designated key to end the subsequent phase.

According to another embodiment of the invention, the subsequent phase is started manually. Hence, the data processing unit 110 is adapted to receive a user-generated trigger command, and to instigate the subsequent phase in response to reception of such a trigger command. Preferably, the trigger command is generated by activating a mechanical input member (such as a key, a button, a switch, a pedal etc.), uttering a voice command, locating the gaze point PG within a particular area of the display 120 (e.g. proximate to the pointer's 210 current position, or over an alternative manipulable GUI object) during a threshold dwell time, and/or moving the gaze point PG according to a predefined movement sequence (e.g. a saccade from/to a particular GUI object). Therefore, the system includes at least one means, which is adapted to receive the trigger command in at least one of these forms.

It is worth noting that, according to the invention, the user's 140 gaze point PG need not actually be located on the display 120 during the initial phase. Instead, during this phase, the gaze point PG may be directed towards a so-called off-screen button, i.e. software related control means being represented by an area outside the display 120 (e.g. on the display frame). Activation of such an off-screen button may cause feedback data FB (say in the form of a drop-down list) to be presented on the display 120 (preferably proximate to the off-screen button identified by the gaze point PG). Hence, during the subsequent phase, the user 140 can navigate through the drop-down list by performing adequate body part movements MR. Off-screen buttons are desirable because they economize the screen surface.

To sum up, the general method of controlling a computer system according to the invention will now be described with reference to the flow diagram in FIG. 3.

An initial step 310 investigates whether or not a start command has been received. Preferably, this command is user-generated according to what has been discussed above. If no such command is received, the procedure loops back and stays in the step 310, and otherwise a step 320 follows. The step 320 presents feedback data on a display, such that the feedback data is generated based on an absolute position of a user's gaze point with respect to the display.

Subsequently, a step 330 investigates whether or not a condition for initiating a subsequent phase has been fulfilled. As mentioned above, this condition may either be represented by a predetermined interval after commencing the initial phase executed in the step 320, or upon receipt of a trigger command. In any case, if the condition is not fulfilled, the procedure loops back to the step 320. Otherwise, a step 340 follows, which presents feedback data generated based on image data representing movements of a particular body part of the user.

Thereafter, a step 350 investigates whether or not a stop criterion is fulfilled. It is highly advantageous if a stop signal indicating fulfillment of the stop criterion is generated manually by the user. Namely, only the user knows when a certain operation being controlled in response to the movements of his/her body part has been completed. Hence, the stop signal may be generated by activating a mechanical input member (such as a key, a button, a switch, a pedal etc.), uttering a voice command, locating the gaze point PG within a particular area of the display 120 (e.g. proximate to the pointer's 210 current position, or over an alternative manipulable GUI object) during a threshold dwell time, moving the gaze point PG according to a predefined movement sequence (e.g. a saccade from/to a particular GUI object) and/or releasing a designated key.

If, in the step 350, the stop criterion is found to be fulfilled, the procedure loops back to the step 310. Otherwise, the procedure loops back to the step 340. Naturally, in connection with fulfillment of the stop criterion, the data processing unit may be adapted to execute one or more operations, for instance related to a manipulable GUI object selected, and possibly activated, via the above-described procedure.

All of the process steps, as well as any sub-sequence of steps, described with reference to the FIG. 3 above may be controlled by means of a programmed computer apparatus. Moreover, although the embodiments of the invention described above with reference to the drawings comprise computer apparatus and processes performed in computer apparatus, the invention thus also extends to computer programs, particularly computer programs on or in a carrier, adapted for putting the invention into practice. The program may be in the form of source code, object code, a code intermediate source and object code such as in partially compiled form, or in any other form suitable for use in the implementation of the process according to the invention. The program may either be a part of an operating system, or be a separate application. The carrier may be any entity or device capable of carrying the program. For example, the carrier may comprise a storage medium, such as a Flash memory, a ROM (Read Only Memory), for example a CD (Compact Disc) or a semiconductor ROM, an EPROM (Erasable Programmable Read-Only Memory), an EEPROM (Electrically Erasable Programmable Read-Only Memory), or a magnetic recording medium, for example a floppy disc or hard disc. Further, the carrier may be a transmissible carrier such as an electrical or optical signal which may be conveyed via electrical or optical cable or by radio or by other means. When the program is embodied in a signal which may be conveyed directly by a cable or other device or means, the carrier may be constituted by such cable or device or means. Alternatively, the carrier may be an integrated circuit in which the program is embedded, the integrated circuit being adapted for performing, or for use in the performance of, the relevant processes.

The term “comprises/comprising” when used in this specification is taken to specify the presence of stated features, integers, steps or components. However, the term does not preclude the presence or addition of one or more additional features, integers, steps or components or groups thereof.

The reference to any prior art in this specification is not, and should not be taken as, an acknowledgement or any suggestion that the referenced prior art forms part of the common general knowledge in Australia.

The invention is not restricted to the described embodiments in the figures, but may be varied freely within the scope of the claims. 

What is claimed is:
 1. A method for operating a computer system, the method comprising: causing a screen of a display device to display a first image; receiving image data from a first image sensor; determining, based on the image date from the first image sensor, that a gaze of a user is directed away from the screen; receiving an activation input from the user; and causing, based on the gaze of the user being directed away from the screen and receipt of the activation input, the screen to display a second image, wherein the second image is different than the first image 